namespace Expect.Documentation
{
    using System;
    using Expect.Core;
    using Expect.Core.Fixtures;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    
    // This file is generated, if you modify content you will lose your modifications when the generator will regenerate the file
    [System.CodeDom.Compiler.GeneratedCodeAttribute("Expect.Core", "0.5.2.0")]
    [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [TestClass()]
    [SpecificationContainerAttribute(Name="What\'s next !", Path="\\What\'s next !.expect")]
    public partial class WhatSNextContainer : Expect.Core.AbstractSpecificationContainer
    {
        
        partial void PrepareContextExtension();
        
        partial void BeforeInitExtension();
        
        partial void AfterInitExtension();
        
        partial void BeforeTeardownExtension();
        
        partial void AfterTeardownExtension();
        
#line 1 "What's next !.expect"
#line hidden
        
        public override void InitializeContext()
        {
            base.InitializeContext();
            PrepareContextExtension();
        }
        
        [TestInitialize()]
        public virtual void WhatSNextClass_TestInit()
        {
            InitializeContext();
            BeforeInit();
            BeforeInitExtension();

            SpecificationDefinition spec = new SpecificationDefinition();
            spec.CalculateResult();

            if ((spec.Status.Success.HasValue == false))
            {
                Assert.Inconclusive(spec.GetMessageForInconclusiveResult());
            }
            if ((spec.Status.Success.Value == false))
            {
                Assert.Fail(spec.GetMessageForFailedResult());
            }

            AfterInit();
            AfterInitExtension();
        }
        
        [TestCleanup()]
        public virtual void WhatSNextClass_TestTeardown()
        {
            BeforeTeardown();
            BeforeTeardownExtension();

            SpecificationDefinition spec = new SpecificationDefinition();
            spec.CalculateResult();

            if ((spec.Status.Success.HasValue == false))
            {
                Assert.Inconclusive(spec.GetMessageForInconclusiveResult());
            }
            if ((spec.Status.Success.Value == false))
            {
                Assert.Fail(spec.GetMessageForFailedResult());
            }

            AfterTeardown();
            AfterTeardownExtension();
        }
        
        // TestComment
        [TestMethod()]
        public virtual void WhatSNext()
        {
            SpecificationDefinition spec = new SpecificationDefinition();
            Get_WhatSNext(spec);
            spec.CalculateResult();

            if ((spec.Status.Success.HasValue == false))
            {
                Assert.Inconclusive(spec.GetMessageForInconclusiveResult());
            }
            if ((spec.Status.Success.Value == false))
            {
                Assert.Fail(spec.GetMessageForFailedResult());
            }
        }
        
        [SpecificationProviderAttribute(Name="What\'s next !")]
        public virtual void Get_WhatSNext(Expect.Core.SpecificationDefinition spec)
        {
            spec.Context = Context;
            spec.Name = "What\'s next !";
            FixtureDefinition fixture = null;

            fixture = spec.AddFixture<DescriptionFixture>();
#line 1
            fixture.WithRow("Now that you\'ve got a good overview of Expect, the best thing to do is to play wi" +
                    "th it for real. You could start by looking at the sample code that generate this" +
                    " document.");
#line hidden
            fixture.EndRun();

            fixture = spec.AddFixture<DescriptionFixture>();
#line 3
            fixture.WithRow(@"Do not hesitate to play with parameters to see tests succeeding or failing, try looking at test result details to see how Expect provide feedback on what goes wrong, and don't forget context menu items to help you generate fixtures and navigate between the elements.");
#line hidden
            fixture.EndRun();

            fixture = spec.AddFixture<DescriptionFixture>();
#line 5
            fixture.WithRow("We would be pleased to welcome any kind of feedback on the tool. If you have ques" +
                    "tions or feature requests, you could post on the mailing list.");
#line hidden
            fixture.EndRun();

            fixture = spec.AddFixture<DescriptionFixture>();
#line 7
            fixture.WithRow("To get your interest in a good shape, here is some of the elements we planned for" +
                    " the versions to come :");
#line hidden
            fixture.EndRun();

            fixture = spec.AddFixture<DescriptionFixture>();
#line 9
            fixture.WithRow("- Supporting more unit tests framework (MbUnit, xUnit.net)");
#line 10
            fixture.WithRow("- Improved intellisense (on reportdata files, ...)");
#line 11
            fixture.WithRow("- Improving the wiki-like syntax in the descriptions (to format elements)");
#line 12
            fixture.WithRow("- Ability to define common steps in your specifications");
#line 13
            fixture.WithRow("- Improve documentation");
#line hidden
            fixture.EndRun();

            fixture = spec.AddFixture<DescriptionFixture>();
#line 15
            fixture.WithRow("And much more...");
#line hidden
            fixture.EndRun();

        }
    }
}
